#include <bits/stdc++.h>
// 2024/08/08
// tag: 模拟
using namespace std;

// 定义一个二维数组，表示石头、剪刀、布的胜负关系
bool RPS[5][5] = {
    {0, 0, 1, 1, 0},
    {1, 0, 0, 1, 0},
    {0, 1, 0, 0, 1},
    {0, 0, 1, 0, 1},
    {1, 1, 0, 0, 0}};

signed main()
{
    int n, na, nb, Na[200], Nb[200];
    // 输入总轮数n，甲方的出拳次数na，乙方的出拳次数nb
    cin >> n >> na >> nb;
    // 输入甲方的出拳序列
    for (int i = 0; i < na; i++)
        cin >> Na[i];
    // 输入乙方的出拳序列
    for (int i = 0; i < nb; i++)
        cin >> Nb[i];
    int ansa = 0, ansb = 0;
    // 遍历每一轮
    for (int i = 0; i < n; i++)
    {
        // 获取甲方的出拳
        int a = Na[i % na];
        // 获取乙方的出拳
        int b = Nb[i % nb];
        // 判断甲方的出拳是否胜过乙方的出拳
        if (RPS[a][b])
            ansa++;
        // 判断乙方的出拳是否胜过甲方的出拳
        else if (RPS[b][a])
            ansb++;
    }
    // 输出甲方的胜场数和乙方的胜场数
    cout << ansa << " " << ansb << endl;
    return 0;
}